package com.szh.mysobproject.http.request.api

import com.szh.mysobproject.model.ApiResponse
import com.szh.mysobproject.model.msg.*
import com.szh.mysobproject.util.SUNNY_BEACH_API_BASE_URL
import retrofit2.http.GET
import retrofit2.http.PUT
import retrofit2.http.Path

interface MsgApi {

    /**
     * 获取未读信息
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/msg/count")
    suspend fun getUnReadMsgCount(): ApiResponse<UnReadMsgCount>

    /**
     * 获取点赞列表消息
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/thumb/{page}")
    suspend fun getLikeMsgList(@Path("page") page: Int): ApiResponse<LikeMsg>

    /**
     * 摸鱼列表未读消息
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/moment/{page}")
    suspend fun getMomentMsgList(@Path("page") page: Int): ApiResponse<MomentMsg>

    /**
     * 已读摸鱼消息
     */
    /**
     * 更新摸鱼动态消息的状态
     * msgId：消息id
     */
    @PUT("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/moment/state/{msgId}/1")
    suspend fun readMomentMsg(@Path("msgId") msgId: String): ApiResponse<Any>

    /**
     * at我的消息
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/at/{page}")
    suspend fun getAtMeMsgList(@Path("page") page: Int): ApiResponse<AtMeMsg>

    /**
     * 更新At消息的状态
     * msgId：消息id
     */
    @PUT("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/at/state/{msgId}/1")
    suspend fun readAtMeMsg(@Path("msgId") msgId: String): ApiResponse<Any>

    /**
     * 获取问答msg 列表
     */
    /**
     * 获取问题的回答列表
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/wenda/{page}")
    suspend fun getQaMsgList(@Path("page") page: Int): ApiResponse<QaMsg>

    /**
     * 更新问答消息
     */
    /**
     * 更新问题回答消息的状态
     * msgId：消息id
     */
    @PUT("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/wenda/state/{msgId}/1")
    suspend fun readQaMsg(@Path("msgId") msgId: String): ApiResponse<Any>

    /**
     * 获取系统消息列表
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/ucenter/message/system/{page}")
    suspend fun getSystemMsgList(@Path("page") page: Int): ApiResponse<SystemMsg>

    /**
     * 已读所有消息
     */
    @GET("${SUNNY_BEACH_API_BASE_URL}ct/msg/read")
    suspend fun readAllMsg(): ApiResponse<Any>
}